﻿// ******************************************************
// Copyright © 2010 DCOM Productions®, 
// All Rights Reserved
// ******************************************************

namespace BitFlex.EnterpriseServices.WindowsShell {
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// Represents a Windows Logon Policy for either CurrentUser or LocalMachine
    /// </summary>
    public interface IWinlogonPolicy {
        /// <summary>
        /// Gets a System.Boolean value indicating whether or not the Winlogon policy is currently enforced on the system
        /// </summary>
        bool Enforced {
            get;
        }

        /// <summary>
        /// Interface property
        /// Determines the type of Winlogon that this policy applies to
        /// </summary>
        Winlogon Logon {
            get;
            set;
        }

        /// <summary>
        /// Gets the name of the policy
        /// </summary>
        string Name {
            get;
        }

        /// <summary>
        /// Applies the policy
        /// </summary>
        void Apply();

        /// <summary>
        /// Removes the policy
        /// </summary>
        void Remove();
    }
}